<?php

namespace addons\crontab\controller;

use think\Controller;
use think\Db;
use think\Exception;

class Blog extends Controller
{
    /**
     * 初始化方法,最前且始终执行
     */
    public function _initialize()
    {
        // 只可以以cli方式执行
        if (!$this->request->isCli()) {
            $this->error('MtlActApplyStatus script only work at client!');
        }

        parent::_initialize();

        // 清除错误
        error_reporting(0);

        // 设置永不超时
        set_time_limit(0);
    }

    /**
     * 执行定时任务
     */
    public function index()
    {
        echo "Blog START\n";
        $model = new \app\admin\model\jy\Blog;
        Db::startTrans();
        try {
            $datetime = date('Y-m-d G:i:s');
            // 未发布 => 发布 egt大于等于（>=） gt大于（>） elt小于等于（<=）
            $model->save(['status' => 1, 'update_time' => $datetime], ['status' => '0', 'public_time' => ['elt', $datetime]]);

            echo "Blog COMPLETE\n";
            Db::commit();
        } catch (Exception $e) {
            echo $e->getMessage() . "\n";
            echo "Blog ERROR\n";
            Db::rollback();
        }
    }
}